उत्पादएकीकरणसंसाधनदस्तावेजीकरणमूल्य निर्धारण
अभी शुरू करें

© 2026 CapSolver. All rights reserved.

हमसे संपर्क करें

Slack: lola@capsolver.com

उत्पाद

  • reCAPTCHA v2
  • reCAPTCHA v3
  • Cloudflare Turnstile
  • Cloudflare Challenge
  • AWS WAF
  • ब्राउज़र एक्सटेंशन
  • अधिक कैप्चा प्रकार

एकीकरण

  • Selenium
  • Playwright
  • Puppeteer
  • n8n
  • साझेदार
  • सभी एकीकरण देखें

संसाधन

  • रेफरल प्रोग्राम
  • दस्तावेजीकरण
  • API संदर्भ
  • ब्लॉग
  • FAQ
  • शब्दावली
  • स्थिति

कानूनी

  • सेवा की शर्तें
  • गोपनीयता नीति
  • धनवापसी नीति
  • मेरी व्यक्तिगत जानकारी न बेचें
ब्लॉग/AWS WAF/PHP के साथ AWS कैप्चा / चुनौती कैसे हल करें: एक विस्तृत गाइड
Sep14, 2023

PHP के साथ AWS कैप्चा / चुनौती कैसे हल करें: एक विस्तृत गाइड

Rajinder Singh

Rajinder Singh

Deep Learning Researcher

TLDR (बहुत लंबा; पढ़ा नहीं)

इस गाइड ने एमेजॉन वेब एप्लिकेशन फ़ायरवॉल (AWS WAF) कैप्चा और चुनौती पृष्ठों को बायपास करने के लिए PHP और CapSolver API के बारे में व्यापक, चरण-दर-चरण गाइड प्रदान करता है। हम एमएस वीएफ द्वारा उत्पन्न कैप्चा (HTTP 405) और चुनौती (HTTP 202) प्रतिक्रियाओं की लॉजिक के बारे में विस्तार से विवरण प्रदान करते हैं, आवश्यक पैरामीटर निकालते हैं, और अंततः प्राप्त किए गए aws-waf-token कुकी का उपयोग सुरक्षित संसाधन तक पहुंच के लिए करते हैं।

परिचय

एमएस वीएफ कैप्चा के बारे में जानकारी लेने के लिए इस विस्तृत गाइड में आपका स्वागत है। वेब बट्स और वेब स्क्रैपर के लिए, कैप्चा के सामना करना एक महत्वपूर्ण बाधा हो सकती है, लेकिन सही साधनों के साथ यह एक प्रबल विवेक के साथ निपटाया जा सकता है।

एमएस वीएफ कैप्चा और चुनौती क्या है?

एमएस वीएफ (वेब एप्लिकेशन फ़ायरवॉल) एक सुरक्षा सेवा है जो वेब एप्लिकेशन की बुनियादी वेब हमलों से रक्षा करती है। यह एक वास्तविक मानव उपयोगकर्ता से आये अनुरोध की पुष्टि करने के लिए दो प्राथमिक कार्रवाई के लिए प्रदान करती है: कैप्चा और चुनौती।

एमएस वीएफ कार्य का सारांश

कार्य उद्देश्य HTTP स्थिति कोड आवश्यक समाधान
चुनौती क्लाइंट सत्र के मानक ब्राउज़र होने की पुष्टि करने के लिए एक चुप्पी बैकग्राउंड जांच चलाता है। 202 स्वीकृत टोकन प्राप्त करने के लिए जावास्क्रिप्ट चुनौती हल करना आवश्यक है।
कैप्चा अंत उपयोगकर्ता को एक दृश्य पहेली हल करने के लिए मजबूर करता है ताकि वे मानव होने की पुष्टि कर सकें। 405 विधि अनुमति नहीं है एक विशिष्ट पैरामीटर के निकालने की आवश्यकता होती है।

जब भी कैप्चा या चुनौती सफलतापूर्वक हल कर ली जाती है, एमएस वीएफ एक वैध टोकन जारी करता है, जो aws-waf-token कुकी के मान के रूप में वापस आता है। इस टोकन को सुरक्षित संसाधन तक पहुंच के लिए अगले अनुरोध में शामिल करना आवश्यक है।

🔎 एमएस वीएफ कैप्चा / चुनौती को PHP और CapSolver के साथ हल करें

CapSolver एमएस वीएफ कैप्चा और चुनौती के लिए एक शक्तिशाली API समाधान प्रदान करता है। इस गाइड में हम PHP के cURL लाइब्रेरी का उपयोग करके आवश्यक लॉजिक के लागू करने पर केंद्रित हैं।

📕 आवश्यकताएं

  • PHP (cURL एक्सटेंशन सक्षम होना चाहिए)
  • cURL
  • CapSolver API कुंजी (आप CapSolver से पंजीकरण करके प्राप्त कर सकते हैं)

🛠️ चरण 1: पर्यावरण और सहायक कार्यों की सेटअप

हमारे समाधान का केंद्र दो मुख्य API कॉल हैं: CapSolver के लिए createTask कैप्चा / चुनौती जमा करने के लिए और getTaskResult समाधान प्राप्त करने के लिए।

PHP Copy
<?php

// --- विनिर्देश ---
$PROXY = "http://username:password@host:port"; // वैकल्पिक: अपने प्रॉक्सी विवरण से बदलें (जैसे, AntiAwsWafTask के लिए)
$PAGE_URL = "https://norway-meetup.aws.wslab.no/";  // एमएस वीएफ द्वारा सुरक्षित लक्ष्य URL से बदलें
$CLIENT_KEY = "आपकी भुगतान-प्रति-उपयोग";  // अपने CAPSOLVER API कुंजी से बदलें

/**
 * CapSolver API पर एक कार्य प्रस्तुत करता है।
 * @param array $payload कार्य भेजने के लिए आवश्यक पैरामीटर वाला पेलोड।
 * @return array API प्रतिक्रिया, टास्कआईडी सहित।
 */
function createTask($payload) {
    global $CLIENT_KEY;
    $ch = curl_init();
    echo("कार्य बना रहे हैं...\n");
    curl_setopt($ch, CURLOPT_URL, 'https://api.capsolver.com/createTask');
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode(['clientKey' => $CLIENT_KEY, 'task' => $payload]));
    curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
    $response = curl_exec($ch);
    curl_close($ch);
    return json_decode($response, true);
}

/**
 * CapSolver API पर कार्य परिणाम के लिए जांच करता है।
 * @param string $taskId जांच करने के लिए कार्य का ID।
 * @return array API प्रतिक्रिया जिसमें समाधान शामिल है।
 */
function getTaskResult($taskId) {
    global $CLIENT_KEY;
    do {
        echo("समाधान की प्रतीक्षा कर रहे हैं...\n");
        sleep(1);
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, 'https://api.capsolver.com/getTaskResult');
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_POST, true);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode(['clientKey' => $CLIENT_KEY, 'taskId' => $taskId]));
        curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
        $response = curl_exec($ch);
        curl_close($ch);
        $data = json_decode($response, true);
        
        if (isset($data['status']) && $data['status'] == "ready") {
            return $data;
        }
        
        // getTaskResult से त्रुटि के संभावित त्रुटि का निपटारा करें
        if (isset($data['errorId']) && $data['errorId'] != 0) {
            echo("कार्य परिणाम प्राप्त करते समय त्रुटि: " . $data['errorDescription'] . "\n");
            return null;
        }
        
    } while(true);
}

/**
 * उपयुक्त कार्य प्रकार के साथ एमएस वीएफ चुनौती या कैप्चा हल करता है।
 * @param string $taskType CapSolver कार्य प्रकार (AntiAwsWafTask या AwsCaptchaTask)।
 * @param array $params कार्य के लिए आवश्यक पैरामीटर।
 * @return string|null एमएस-वाफ-टोकन कुकी मान या असफलता पर null।
 */
function solveAwsWaf($taskType, $params) {
    global $PAGE_URL, $PROXY;
    
    $payload = [
        'type' => $taskType,
        'websiteURL' => $PAGE_URL,
        'proxy' => $PROXY,
    ];
    
    // कार्य के लिए विशिष्ट पैरामीटर मिश्रित करें
    $payload = array_merge($payload, $params);
    
    // एक साफ अनुरोध के लिए खाली मानों को साफ करें
    $payload = array_filter($payload, function($value) {
        return $value !== "" && $value !== null;
    });

    $taskData = createTask($payload);
    
    if (isset($taskData['taskId'])) {
        $result = getTaskResult($taskData['taskId']);
        if ($result && isset($result['solution']['cookie'])) {
            return $result['solution']['cookie'];
        }
    }
    
    return null;
}

⚡ चरण 2: WAF पहचान और हल करने की लॉजिक के लागू करें

मुख्य लॉजिक एमएस वीएफ द्वारा सुरक्षित पृष्ठ पर एक प्रारंभिक अनुरोध करना और HTTP स्थिति कोड की जांच करना है ताकि यह निर्धारित किया जा सके कि चुनौती (202) या कैप्चा (405) आवश्यक है। फिर हम नियमित अभिव्यक्ति का उपयोग एचटीएमएल प्रतिक्रिया बॉडी से आवश्यक पैरामीटर निकालते हैं।

PHP Copy
// --- मुख्य निष्पादन लॉजिक ---

// 1. सुरक्षित पृष्ठ पर प्रारंभिक अनुरोध
$ch = curl_init($PAGE_URL);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

$cookie = null;

echo("प्रारंभिक HTTP कोड: " . $httpCode . "\n");

if ($httpCode == 202) {
    // --- चुनौती (202) संभालें ---
    echo("चुनौती पहचानी गई (HTTP 202). पैरामीटर निकाल रहे हैं...\n");
    
    // चुनौती.js URL निकालें
    preg_match('/<script src="([^"]*token.awswaf.com[^"]*)"/', $response, $matches);
    $awsChallengeJS = $matches[1] ?? null;
    
    if ($awsChallengeJS) {
        $params = ['awsChallengeJS' => $awsChallengeJS];
        $cookie = solveAwsWaf("AntiAwsWafTask", $params);
    } else {
        echo("त्रुटि: चुनौती के लिए awsChallengeJS नहीं मिला।\n");
    }

} elseif ($httpCode == 405) {
    // --- कैप्चा (405) संभालें ---
    echo("कैप्चा पहचानी गई (HTTP 405). पैरामीटर निकाल रहे हैं...\n");
    
    // पृष्ठ के सामग्री से पैरामीटर निकालें
    preg_match('/<script src="([^"]*token.awswaf.com[^"]*)"/', $response, $matches);
    $awsChallengeJS = $matches[1] ?? null;
    
    preg_match('/"key":"(.*?)"/', $response, $matches);
    $awsKey = $matches[1] ?? null;
    
    preg_match('/"iv":"(.*?)"/', $response, $matches);
    $awsIv = $matches[1] ?? null;
    
    preg_match('/"context":"(.*?)"/', $response, $matches);
    $awsContext = $matches[1] ?? null;
    
    if ($awsKey && $awsIv && $awsContext) {
        $params = [
            'awsKey' => $awsKey,
            'awsIv' => $awsIv,
            'awsContext' => $awsContext,
            'awsChallengeJS' => $awsChallengeJS // वैकल्पिक लेकिन सिफारिश की जाती है
        ];
        // ध्यान दें: दृश्य कैप्चा के लिए कार्य प्रकार अक्सर अभी भी AntiAwsWafTask होता है, 
        // लेकिन आवश्यक पैरामीटर जो CapSolver के पक्ष में समाधान प्रकार निर्धारित करते हैं।
        $cookie = solveAwsWaf("AntiAwsWafTask", $params); 
    } else {
        echo("त्रुटि: कैप्चा के लिए कुंजी, आईवी या संदर्भ पैरामीटर नहीं मिले।\n");
    }
}

// 3. टोकन का उपयोग सुरक्षित संसाधन तक पहुंच के लिए करें
if ($cookie) {
    echo("सफलतापूर्वक एमएस-वाफ-टोकन प्राप्त किया गया। अंतिम अनुरोध कर रहे हैं...\n");
    
    $ch = curl_init($PAGE_URL);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    // एमएस-वाफ-टोकन कुकी सेट करें
    curl_setopt($ch, CURLOPT_COOKIE, "aws-waf-token=" . $cookie);
    
    $finalResponse = curl_exec($ch);
    curl_close($ch);
    
    echo "\n--- अंतिम पृष्ठ की सामग्री ---\n";
    echo $finalResponse;
    echo "\n--------------------------\n";
} else {
    echo("एमएस वीएफ चुनौती/कैप्चा हल नहीं हो सका।\n");
}

?>

कोड अनुकूलन नोट्स

मूल कोड में अलग-अलग कार्यों (solveAwsChallenge, solveAwsCaptcha) और थोड़ा असंगत पैरामीटर नाम (key, iv, context के बजाय awsKey, awsIv, awsContext) का उपयोग किया गया था। अपनाए गए कोड एकल solveAwsWaf कार्य में समायोजित करता है, जो नवीनतम CapSolver API दस्तावेज़ के साथ संगत है। इस दृष्टिकोण अधिक अनुकूलित है और बनाए रखने में आसान है।

इस लॉजिक वेब स्क्रैपिंग और ऑटोमेशन कार्यों के लिए बहुत प्रभावी है। अन्य भाषाओं में काम करने वाले लोगों के लिए, CapSolver के पास एक अनुदेश भी है जैसे कि "एमएस वीएफ कैप्चा / चुनौती को पायथन के साथ हल करें" [https://www.capsolver.com/blog/how-to-solve-aws-captcha-challenge-with-python] जो एक समान API पैटर्न का अनुसरण करता है।

निष्कर्ष

एमएस वीएफ की चुनौती और कैप्चा यांत्रिकी बॉट के खिलाफ एक प्रभावी उपाय हैं, लेकिन वे अनुकूलित नहीं हैं। PHP में एक शक्तिशाली पहचान और हल करने की लॉजिक के साथ, CapSolver API के शक्ति का उपयोग करके वेब स्क्रैपिंग या ऑटोमेशन कार्यक्रमों के बिना किसी भी बाधा के लगातार आगे बढ़ने के लिए आवश्यक aws-waf-token प्राप्त करने में विकासकर्ता सक्षम हो सकते हैं। मुख्य बात एमएस वीएफ कार्य को HTTP स्थिति कोड के माध्यम से सही ढंग से पहचानना और पृष्ठ स्रोत से आवश्यक पैरामीटर को सही ढंग से निकालना है।

मुख्य बिंदु

  • एमएस वीएफ कार्य: एमएस वीएफ बॉट के खिलाफ एक चुप्पी चुनौती (HTTP 202) या एक दृश्य कैप्चा (HTTP 405) का उपयोग करता है।
  • लक्ष्य: अंतिम लक्ष्य aws-waf-token कुकी मान प्राप्त करना है।
  • CapSolver API: AntiAwsWafTask कार्य प्रकार चुनौती और कैप्चा हल करता है, आवश्यक पैरामीटर समाधान के विशिष्ट प्रकार निर्धारित करते हैं।
  • PHP कार्यान्वयन: PHP के cURL का अनुरोध के लिए उपयोग किया जाता है, और preg_match के माध्यम से पृष्ठ स्रोत से डायनामिक पैरामीटर जैसे awsChallengeJS, awsKey, awsIv और awsContext निकालने के लिए आवश्यक है।
  • विश्वसनीयता: स्थिर, उच्च आउटपुट ऑटोमेशन के लिए, एक विशेषज्ञ समाधान के साथ एकीकरण आवश्यक है, जैसा कि एमएस वीएफ कैप्चा सॉल्वर: स्क्रैपर के लिए टोकन और चित्र समाधान में विवरण में विवरणित है।

अक्सर पूछे जाने वाले प्रश्न (FAQ): अक्सर पूछे जाने वाले प्रश्न

Q1: मुझे HTTP स्थिति कोड (202 या 405) की जांच क्यों करनी होगी?

A: HTTP स्थिति कोड एमएस वीएफ कार्य के प्रकार के लिए सबसे विश्वसनीय संकेतक है। 202 स्वीकृत स्थिति कोड चुप्पी चुनौती के सक्रिय होने की पुष्टि करता है, जिसमें कम पैरामीटर की आवश्यकता होती है। 405 विधि अनुमति नहीं है स्थिति कोड एक दृश्य कैप्चा के सक्रिय होने की पुष्टि करता है, जिसमें विशिष्ट पैरामीटर (key, iv, context) की आवश्यकता होती है जो पृष्ठ के जावास्क्रिप्ट चर में निर्मित होते हैं।

Q2: AntiAwsWafTask और AntiAwsWafTaskProxyLess के बीच क्या अंतर है?

A: दोनों कार्य प्रकार एमएस वीएफ चुनौती के हल करने के लिए डिज़ाइन किए गए हैं। मुख्य अंतर प्रॉक्सी की आवश्यकता है। AntiAwsWafTask में आपको अपने प्रॉक्सी के बारे में अपने अनुरोध पैलोड में प्रदान करना आवश्यक है। AntiAwsWafTaskProxyLess के लिए प्रॉक्सी की आवश्यकता नहीं है, क्योंकि CapSolver आंतरिक रूप से प्रॉक्सी का उपयोग करता है। बड़े पैमाने पर वेब स्क्रैपिंग के लिए प्रॉक्सी का उपयोग करना आमतौर पर सुझाव दिया जाता है ताकि अनन्यता बनी रहे और आईपी बैन से बचा जा सके।

Q3: मेरा स्क्रिप्ट key, iv या context पैरामीटर नहीं ढूंढ पा रहा है। मैं क्या करूं?

A: ये पैरामीटर डायनामिक रूप से बनाए जाते हैं और आमतौर पर एचटीएमएल स्रोत में <script> टैग या छिपे इनपुट फ़ील्ड में एम्बेड किए जाते हैं। अगर आपका preg_match विफल हो जाता है, तो यह संभवतः लक्ष्य वेबसाइट के WAF विवरण में परिवर्तन के कारण हो सकता है। आपको ब्लॉक किए गए पृष्ठ के नवीनतम HTML स्रोत की जांच करनी चाहिए और अपने नियमित अभिव्यक्ति को अपडेट करना चाहिए।

Q4: क्या मैं एक तीसरे पक्ष की सेवा के बिना एमएस वीएफ को हल कर सकता हूं?

A: एमएस वीएफ चुनौती को हाथ से हल करना अत्यधिक कठिन और ऑटोमेशन के लिए अव्यावहारिक है। चुनौती कार्य के लिए जटिल, ओब्फस्किटेड जावास्क्रिप्ट चलाना आवश्यक है, और कैप्चा कार्य के लिए छवि स्वीकृति पहेली हल करना आवश्यक है। तीसरे पक्ष सेवाएं जैसे कि CapSolver वास्तविक समय में इन चुनौतियों को हल करने के लिए उन्नत AI और बड़े पैमाने के बुनियादी ढांचा का उपयोग करता है, जो ऑटोमेशन के लिए संभव बनाता है। प्रत्येक कैप्चा के लिए अपना सॉल्वर बनाना आमतौर पर लागत-कुशल या विश्वसनीय नहीं होता।

Q5: aws-waf-token कितने समय के लिए वैध है?

A: aws-waf-token की वैधता एमएस वीएफ द्वारा सुरक्षित वेबसाइट के विन्यास द्वारा निर्धारित की जाती है, लेकिन आमतौर पर 10-30 मिनट के लिए होती है। जब टोकन समाप्त हो जाता है, आपको नए टोकन प्राप्त करने के लिए अनुरोध करना, पहचान करना और कार्य सबमिट करना आवश्यक होता है।

और देखें

AWS WAFSep 17, 2025

कैसे हल करें AWS WAF कैप्चा जब वेब स्क्रैपिंग करते हैं: एक संपूर्ण गाइड

कैपसॉल्वर के साथ वेब स्क्रैपिंग में AWS WAF कैप्चा हल करें। कार्यकुशलता में वृद्धि करें, चुनौतियां हल करें और डेटा के सुचारू रूप से प्रवाह करें।

Rajinder Singh
Rajinder Singh
AWS WAFSep 20, 2023

हाउ टू सॉल्व एवीएस कैप्चा / चुनौती पायथन के साथ

एक प्रायोगिक गाइड जो पायथन और कैपसॉल्वर के उपयोग से एवीएस डब्ल्यूएफ चुनौतियों के साथ निपटने में सक्षम करता है

विषय-सूची

Rajinder Singh
Rajinder Singh
AWS WAFJul 12, 2023

कैसे हल करें AWS WAF कैप्चा टोकन

यह ब्लॉग बताता है कि आप कैपसॉल्वर के उपयोग के माध्यम से एवम वाईएफ कैप्चा को तेज, सस्ता और आसान तरीके से हल कर सकते हैं।

Rajinder Singh
Rajinder Singh
AWS WAFNov 29, 2023

AWS कैप्चा कैसे हल करें पुप्पेटीअर [जावास्क्रिप्ट] के साथ कैपसॉल्वर एक्सटेंशन के साथ

एवीएस कैप्चा को बिना किसी समस्या के हल करें सीखें, पुप्पेटीयर और कैप्सॉल्वर एक्सटेंशन के साथ, एक विस्तृत गाइड, कैप्चा समाधानों के स्वचालन और सेटअप करने के बारे में प्रभावी ढंग से।

Rajinder Singh
Rajinder Singh